
#ifdef a
//最小在前，最大在后
void input(int* arr, int n) {
    for (int i = 0; i < n; i++)
        scanf("%d", &arr[i]);
}

void Swap(int* left, int* right) {
    int tmp = *left;
    *left = *right;
    *right = tmp;
    return;
}
//最小的与第一个互换，最大的与最后一个互换
void max_min(int* arr, int n) {
    int max_pos, min_pos;
    max_pos = min_pos = 0;
    for (int i = 1; i < n; i++) {
        if (arr[i] > arr[max_pos])
            max_pos = i;
        if (arr[i] < arr[min_pos])
            min_pos = i;
    }
    if (min_pos)
        Swap(&arr[min_pos], &arr[0]);
    if (max_pos != n - 1)
        Swap(&arr[max_pos], &arr[n - 1]);
    return;
}
//输出

#include<stdio.h>
void input(int* arr, int n);
void max_min(int* arr, int n);
void output(int* arr, int n);
int main()
{
    int a[10];
    input(a, 10);
    max_min(a, 10);
    output(a, 10);
    return 0;
}

void output(int* arr, int n) {
    for (int i = 0; i < n; i++)
        printf("%3d", arr[i]);
    return;
}
#endif



